package task1;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.apache.log4j.Logger;

public class Loader {
	
	private static final Logger logger = Logger.getLogger(Loader.class);

	private String fileName;
	private Scanner sc;
	private List<DataItem> newDIList;
	
	public Loader(String fileName) {
		this.fileName = fileName;
		logger.info("Loader(String) constructor");
	}
	
	/*
	 * Метод загружает из файла fileName набор переменных типа DataItem
	 * 
	 * Возвращает динамический массив переменных типа DataItem
	 */
	public List<DataItem> loadData() {
		
		try {
			logger.info("Loader.loadData() method");
			newDIList = new ArrayList<DataItem>();
					
			sc = new Scanner(
					new File(fileName));
			
			while(sc.hasNext()) {
				newDIList.add(new DataItem(sc.nextInt()));
			}
			
			sc.close();
		} catch (IOException e) {
			logger.error("Loader.loadData() error : I/O exception has occurred", e);
		}
		
		return newDIList;
	}
}